1. Field of the Invention
The invention relates to a data buffer memory of the "first-in, first-out" type, having logic means which ensure that the output for data to be read is situated substantially as near as possible to the input for data to be written, depending on the filling of the buffer, thus ensuring a substantially uninterrupted content of the buffer.
2. Description of the Prior Art
A wide variety of data buffer memories of the described "first-in, first-out" type are known; they are inter alia used as a buffer device in digital data processing and communication systems at areas where differences occur in the rate in which input data is supplied and the rate in which output data is consumed. A number of the known buffers are characterized by a simple construction, notably by a pronounced repetitive character of the various sections of the buffer. An example in this respect is formed by the buffer described in British Pat. No. 1,363,707. Buffers of this kind involve a problem in that, when the capacity of the buffer amounts to n sections, a message which is applied to an empty buffer appears on the output thereof only after n clock pulse cycles. Particularly if n is large (&gt;32 . . . ), inadmissible delays are liable to occur in practice. These buffers are thus characterized as having a fixed input and a fixed output.
Also known are buffers which do not involve such a delay, because counting devices are used to activate a variable input location as well as a variable output location of the buffer. In such cases it is not necessary to transport the data each time through the entire buffer for transfer from an input to an output. Particularly in the case of an empty or almost empty situation, delays are thus prevented. Buffer devices of this kind are known from British Pat. No. 1,479,774. These buffer devices, however, involve a major problem in that the complexity of control substantially increases, particularly in the case of buffers having a large number of sections. Counters having a high counting capacity and complex decoding selection networks for the inputs and outputs to be assigned or other additional steps are then required. Moreover, the linking of a number of small buffers in order to form one large buffer is not possible without giving rise to additional complications.